﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using Entity = Savico.Library.Entity;
using Business = Savico.Library.Business;
using Commom = Savico.Library.Commom.Algorithm;

public partial class templates_admin_usercontrols_add_product : System.Web.UI.UserControl
{
    Commom.RandomString strRandom = new Savico.Library.Commom.Algorithm.RandomString();
    Entity.SanPhamTieuBieu entityProduct = new Savico.Library.Entity.SanPhamTieuBieu();
    Entity.LinhVucKinhDoanh entityBusiness = new Savico.Library.Entity.LinhVucKinhDoanh();
    Business.LinhVucKinhDoanh businessAreaBusiness = new Savico.Library.Business.LinhVucKinhDoanh();
    Business.SanPhamTieuBieu businessProduct = new Savico.Library.Business.SanPhamTieuBieu();
    Business.TaoMa businessCode = new Savico.Library.Business.TaoMa();
    Entity.TaoMa entityCode = new Savico.Library.Entity.TaoMa();
    DataTable dtProduct = new DataTable();
    string kt = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string action = Request.QueryString["action"].ToString();
            if (action == "add")
            {
                imgSanPham.Visible = false;
                lbTitle.Text = "Thêm sản phẩm mới";
            }
            else
            {
                imgSanPham.Visible = true;
                lbTitle.Text = "Sửa thông tin sản phẩm";
                int info = Convert.ToInt32(Request.QueryString["Id"].ToString());
                entityProduct.IdSanPham = info;
                dtProduct = businessProduct.SelectPrimarykey(entityProduct);
                if (dtProduct.Rows.Count == 1)
                {
                    kt = dtProduct.Rows[0]["NgonNgu"].ToString();
                    if (kt == "en")
                    {
                        txtTitle.Text = dtProduct.Rows[0]["TieuDeSanPham"].ToString();
                        fckContent.Value = dtProduct.Rows[0]["MoTaSanPham"].ToString();
                        ddlBusiness.SelectedValue = dtProduct.Rows[0]["IdLinhVuc"].ToString();
                    }
                    if (kt == "vi")
                    {
                        txtTieuDe.Text = dtProduct.Rows[0]["TieuDeSanPham"].ToString();
                        fckNoiDung.Value = dtProduct.Rows[0]["MoTaSanPham"].ToString();
                        ddlLinhVucKD.SelectedValue = dtProduct.Rows[0]["IdLinhVuc"].ToString();

                    }
                    imgSanPham.ImageUrl = "~/uploads/image-products/" + dtProduct.Rows[0]["HinhAnh"];
                    lbTenHinh.Text = dtProduct.Rows[0]["HinhAnh"].ToString();
                }
                if (dtProduct.Rows.Count == 2)
                {
                    txtTitle.Text = dtProduct.Rows[0]["TieuDeSanPham"].ToString();
                    fckContent.Value = dtProduct.Rows[0]["MoTaSanPham"].ToString();
                    ddlBusiness.SelectedValue = dtProduct.Rows[0]["IdLinhVuc"].ToString();
                    txtTieuDe.Text = dtProduct.Rows[1]["TieuDeSanPham"].ToString();
                    fckNoiDung.Value = dtProduct.Rows[1]["MoTaSanPham"].ToString();
                    ddlLinhVucKD.SelectedValue = dtProduct.Rows[1]["IdLinhVuc"].ToString();
                    imgSanPham.ImageUrl = "~/uploads/image-products/" + dtProduct.Rows[0]["HinhAnh"];
                    lbTenHinh.Text = dtProduct.Rows[0]["HinhAnh"].ToString();
                }
            }
            Alert.Load_DropDownList(ddlLinhVucKD, businessAreaBusiness.SelectVN(), "TenLinhVuc", "IdLinhVuc", "-----Lĩnh vực kinh doanh-----");
            Alert.Load_DropDownList(ddlBusiness, businessAreaBusiness.SelectEN(), "TenLinhVuc", "IdLinhVuc", "-----Business-----");
        }        
    }
    private bool checkVN(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho sản phẩm !!!"); kiemtra = false; }
            else if (txtTieuDe.Text == "")
            { Alert.Show("Bạn chưa điền tiêu đề cho sản phẩm này !!!"); kiemtra = false; }
            else if (fckNoiDung.Value == "")
            { Alert.Show("Bạn chưa nhập nội dung cho sản phẩm này !!!"); kiemtra = false; }
            else if (ddlLinhVucKD.SelectedValue == "0")
            { Alert.Show("Bạn chưa chọn lĩnh vực kinh doanh !!!"); kiemtra = false; }
        }
        return kiemtra;
    }
    private bool checkEN(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho sản phẩm !!!"); kiemtra = false; }
            else if (txtTitle.Text == "")
            { Alert.Show("Bạn chưa điền tiêu đề cho sản phẩm này !!!"); kiemtra = false; }
            else if (fckContent.Value == "")
            { Alert.Show("Bạn chưa nhập nội dung cho sản phẩm này !!!"); kiemtra = false; }
            else if (ddlBusiness.SelectedValue == "0")
            { Alert.Show("Bạn chưa chọn lĩnh vực kinh doanh !!!"); kiemtra = false; }
        }
        return kiemtra;
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string action = Request.QueryString["action"];
        string stringRandom = strRandom.GenerateRandomString();
        try
        {
            bool save1 = false,save2=false;
            if (action == "add")
            {
                entityCode.LoaiMa = "IdSanPham";
                entityProduct.IdSanPham = businessCode.TaoMaMoi(entityCode);
                businessCode.Update_Ma(entityCode);
                entityProduct.HinhAnh = stringRandom + fuHinhAnh.FileName;
                if (ddlBusiness.SelectedValue != "0" && ddlLinhVucKD.SelectedValue == "0")
                {
                    entityProduct.TieuDeSanPham = txtTitle.Text;
                    entityProduct.MoTaSanPham = fckContent.Value;
                    entityProduct.NgonNgu = "en";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlBusiness.SelectedValue);
                    if (checkEN(action))
                    {    
                        save1 = businessProduct.Insert(entityProduct);                    
                        if (save1)
                        {
                            Alert.Show("Add product success !!!");
                            fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                        }
                        else { Alert.Show("Add product fail !!!"); }
                    }
                }
                if (ddlBusiness.SelectedValue == "0" && ddlLinhVucKD.SelectedValue != "0")
                {
                    entityProduct.TieuDeSanPham = txtTieuDe.Text;
                    entityProduct.MoTaSanPham = fckNoiDung.Value;
                    entityProduct.NgonNgu = "vi";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlLinhVucKD.SelectedValue);
                    if (checkVN(action))
                    {
                        save1 = businessProduct.Insert(entityProduct);
                        if (save1)
                        {
                            Alert.Show("Thêm sản phẩm mới thành công !!!");
                            fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                        }
                        else { Alert.Show("Thêm sản phẩm mới không thành công !!!"); }
                    }
                }
                if (ddlBusiness.SelectedValue != "0" && ddlLinhVucKD.SelectedValue != "0")
                {
                    entityProduct.TieuDeSanPham = txtTieuDe.Text;
                    entityProduct.MoTaSanPham = fckNoiDung.Value;
                    entityProduct.NgonNgu = "vi";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlLinhVucKD.SelectedValue);
                    if (checkVN(action))
                    {
                        save1 = businessProduct.Insert(entityProduct);
                    }
                    entityProduct.TieuDeSanPham = txtTitle.Text;
                    entityProduct.MoTaSanPham = fckContent.Value;
                    entityProduct.NgonNgu = "en";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlBusiness.SelectedValue);
                    if (checkEN(action))
                    {
                        save2 = businessProduct.Insert(entityProduct);
                    }
                    if (save1 && save2)
                    {
                        Alert.Show("Thêm sản phẩm mới thành công !!!");
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                    }
                    else { Alert.Show("Thêm sản phẩm mới không thành công !!!"); }
                }
            }
            else
            {
                entityProduct.IdSanPham = Convert.ToInt32(Request.QueryString["Id"]);
                if (ddlBusiness.SelectedValue != "0" && ddlLinhVucKD.SelectedValue == "0")
                {
                    entityProduct.TieuDeSanPham = txtTitle.Text;
                    entityProduct.MoTaSanPham = fckContent.Value;
                    entityProduct.NgonNgu = "en";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlBusiness.SelectedValue);
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-products/" + lbTenHinh.Text));
                        entityProduct.HinhAnh = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                    }
                    else
                    { entityProduct.HinhAnh = lbTenHinh.Text; }
                    save1 = businessProduct.Update(entityProduct);
                    if (save1)
                    { Alert.Show("Update this product success !!!"); }
                    else
                    { Alert.Show("Update this product fail !!!"); }
                }
                if (ddlBusiness.SelectedValue == "0" && ddlLinhVucKD.SelectedValue != "0")
                {
                    entityProduct.TieuDeSanPham = txtTieuDe.Text;
                    entityProduct.MoTaSanPham = fckNoiDung.Value;
                    entityProduct.NgonNgu = "vi";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlLinhVucKD.SelectedValue);
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-products/" + lbTenHinh.Text));
                        entityProduct.HinhAnh = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                    }
                    else
                    { entityProduct.HinhAnh = lbTenHinh.Text; }
                    save1 = businessProduct.Update(entityProduct);
                    if (save1)
                    { Alert.Show("Cập nhật thông tin sản phẩm thành công !!!"); }
                    else
                    { Alert.Show("Cập nhật thông tin sản phẩm không thành công !!!"); }
                }
                if (ddlBusiness.SelectedValue != "0" && ddlLinhVucKD.SelectedValue != "0")
                {
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-products/" + lbTenHinh.Text));
                        entityProduct.HinhAnh = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-products/" + entityProduct.HinhAnh));
                    }
                    else
                    { entityProduct.HinhAnh = lbTenHinh.Text; }
                    entityProduct.TieuDeSanPham = txtTieuDe.Text;
                    entityProduct.MoTaSanPham = fckNoiDung.Value;
                    entityProduct.NgonNgu = "vi";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlLinhVucKD.SelectedValue);
                    save1 = businessProduct.Update(entityProduct);
                    entityProduct.TieuDeSanPham = txtTitle.Text;
                    entityProduct.MoTaSanPham = fckContent.Value;
                    entityProduct.NgonNgu = "en";
                    entityProduct.IdLinhVuc = Convert.ToInt32(ddlBusiness.SelectedValue);
                    save2 = businessProduct.Update(entityProduct);
                    if (save1 && save2)
                    { Alert.Show("Cập nhật thông tin sản phẩm thành công !!!"); }
                    else
                    { Alert.Show("Cập nhật thông tin sản phẩm không thành công !!!"); }
                }
            }


        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    protected void btnPreview_Click1(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/ListProduct.aspx");
    }
}
